home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
edit
/
mg2a_src.zip
/
CHRDEF.H
< prev
next >
Wrap
C/C++ Source or Header
|
1991-02-16
|
2KB
|
95 lines
/*
* sys/msdos/chardef.h: character set specific #defines for mg 2a
*/
#ifndef CHARMASK
/*
* casting should be at least as efficent as anding with 0xff,
* and won't have the size problems. Override in sysdef.h if no
* unsigned char type.
*/
#define CHARMASK(c) ((unsigned char) (c))
#endif
/*
* These flags, and the macros below them,
* make up a do-it-yourself set of "ctype" macros that
* understand the DEC multinational set, and let me ask
* a slightly different set of questions.
*/
#define _W 0x01 /* Word. */
#define _U 0x02 /* Upper case letter. */
#define _L 0x04 /* Lower case letter. */
#define _C 0x08 /* Control. */
#define _P 0x10 /* end of sentence punctuation */
#define _D 0x20 /* is decimal digit */
#define ISWORD(c) ((cinfo[CHARMASK(c)]&_W)!=0)
#define ISCTRL(c) ((cinfo[CHARMASK(c)]&_C)!=0)
#define ISUPPER(c) ((cinfo[CHARMASK(c)]&_U)!=0)
#define ISLOWER(c) ((cinfo[CHARMASK(c)]&_L)!=0)
#define ISEOSP(c) ((cinfo[CHARMASK(c)]&_P)!=0)
#define ISDIGIT(c) ((cinfo[CHARMASK(c)]&_D)!=0)
#define TOUPPER(c) ((c)-0x20)
#define TOLOWER(c) ((c)+0x20)
/*
* generally useful thing for chars
*/
#define CCHR(x) ((x) ^ 0x40) /* CCHR('?') == DEL */
#ifndef METACH
#define METACH CCHR('[')
#endif
#ifdef XKEYS
#define K00 256
#define K01 257
#define K02 258
#define K03 259
#define K04 260
#define K05 261
#define K06 262
#define K07 263
#define K08 264
#define K09 265
#define K0A 266
#define K0B 267
#define K0C 268
#define K0D 269
#define K0E 270
#define K0F 271
#define K10 272
#define K11 273
#define K12 274
#define K13 275
#define K14 276
#define K15 277
#define K16 278
#define K17 279
#define K18 280
#define K19 281
#define K1A 282
#define K1B 283
#define K1C 284
#define K1D 285
#define K1E 286
#define K1F 287
#define K20 288
#define K21 289
#define K22 290
#define K23 291
#define K24 292
#define K25 293
#define K26 294
#define K27 295
#define K28 296
#define K29 297
#define K2A 298
#define K2B 299
#define K2C 300
#define K2D 301
#define K2E 302
#define K2F 303
#endif